Layers were the core of a method of dynamic HTML programming specific to Netscape 4. Each layer was treated as a separate document object in JavaScript. The content could be included in the same file within the non-standard layer
element (or any other element with the positioning set to "absolute" via CSS) or loaded from a separate file with <layer src="URL">
or <div src="URL">
. It could also be generated via JavaScript with the layer = new Layer()
constructor. The content would then be inserted into the layer with layer.document.write()
.
But in modern browsers, the functionality of layers is provided by using an absolutely-positioned div
, or, for loading the content from an external file, an IFrame.
Irrelevant to the actual use of layers, when Netscape 4 and Internet Explorer had significantly different JavaScript implementations, a JavaScript program would very often need to run different blocks of code, depending on the browser. To decide which bunches of code to run, a JavaScript program would test for support for layers, regardless of whether the program involved layers at all. Namely,
if( document.layers ) { ...code that would be executed only by Netscape browsers... } else { ...code that would be executed only by Internet Explorer... }